package com.xbongbong.parent.interfaces;

import com.xbongbong.paas.field.FieldAttrEntity;
import com.xbongbong.paas.pojo.dto.SubFormListDTO;
import com.xbongbong.paas.pojo.vo.PaasFormDataEsListVO;
import com.xbongbong.paas.toolbox.exception.XbbException;

import java.util.List;
import java.util.Map;

/**
 * @author 吴峰
 * @date 2022/11/19 10:47
 */
public interface BusinessSubFormListService<D> {


    PaasFormDataEsListVO subFormList(SubFormListDTO subFormListDTO) throws XbbException;


    List<Integer> businessType();

    /**
     * 获取数据
     * @param subFormListDTO
     * @return
     * @throws XbbException
     */
    D getFormData(SubFormListDTO subFormListDTO) throws XbbException;

    /**
     * 获取解释
     * @param subFormListDTO
     * @return
     * @throws XbbException
     */
    Map<String, FieldAttrEntity> getExplainList(SubFormListDTO subFormListDTO) throws XbbException;


    List<FieldAttrEntity> getSubExplainList(SubFormListDTO subFormListDTO, Map<String, FieldAttrEntity> explainMap) throws XbbException;

    PaasFormDataEsListVO dealData(SubFormListDTO subFormListDTO, D formDataEntity, Map<String, FieldAttrEntity> explainMap) throws XbbException;



}
